package com.jilefojing.service;

import java.util.List;

import com.jilefojing.beans.enums.ItemTypeEnumForSource;
import com.jilefojing.beans.exception.UserContextException;
import com.jilefojing.beans.pojos.Expose;
import com.jilefojing.beans.pojos.enhanced.EnhancedExpose;
import com.jilefojing.beans.query.ExposeQuery;
import com.jilefojing.beans.vo.Pagination;
import com.jilefojing.context.beans.vo.UserContext;
import com.jilefojing.service.base.IBaseService;

/**
 * 
 * @author 作者 jgshun
 * @date 创建时间 2016年07月24日 22时00分28秒
 */
public interface IExposeService extends IBaseService<Expose> {

	Expose add(Expose expose, UserContext userContext) throws UserContextException;

	List<EnhancedExpose> getEnhancedExposesByItemForUser(ItemTypeEnumForSource itemType, long itemId, UserContext userContext);

	List<EnhancedExpose> getEnhancedExposesByItemForUser(ItemTypeEnumForSource itemType, List<Long> itemIds, UserContext userContext);

	Pagination<EnhancedExpose> getPagination(ExposeQuery exposeQuery, Pagination<EnhancedExpose> pagination, UserContext userContext);

	List<EnhancedExpose> conventExposes2EnhancedExposes(List<Expose> exposes);

}
